/**
 * 发送get请求
 * @param {string} url 请求地址
 * @param {object} params 请求参数
 * @param {string} type 返回接口的数据类型
 * @param {object} headers 自定义请求头
 * @returns Promise
 */
function get(url,params,type,headers){
    // 过滤数据 将参数params由对象类型转换为字符串类型
    let temp = []
    for(let key in params){
        temp.push(`${key}=${params[key]}`)
    }
    let paramsFilter = temp.join('&')
    const p = new Promise((resolve,reject)=>{
        const xhr = new XMLHttpRequest
        xhr.onreadystatechange = ()=>{
            if(xhr.readyState ===4){
                if(xhr.status === 200){
                    let res = xhr.responseText
                    if(type === 'json'){
                        res = JSON.parse(res)
                    }
                    resolve(res)
                }else{
                    reject(xhr.status)
                }
            }
        }
        xhr.open('get',`${url}?${paramsFilter}`)
        for(let key in headers){
            xhr.setRequestHeader(key,headers[key])
        }
        xhr.send(null)
    })

    return p
}





/**
 * 发送post请求
 * @param {string} url 请求地址
 * @param {object} params 请求参数
 * @param {string} type 返回接口的数据类型
 * @param {object} headers 自定义请求头
 * @returns Promise
 */
 function post(url,params,type,headers){
    // 过滤数据 将参数params由对象类型转换为字符串类型
    let temp = []
    for(let key in params){
        temp.push(`${key}=${params[key]}`)
    }
    let paramsFilter = temp.join('&')
    const p = new Promise((resolve,reject)=>{
        const xhr = new XMLHttpRequest
        xhr.onreadystatechange = ()=>{
            if(xhr.readyState ===4){
                if(xhr.status === 200){
                    let res = xhr.responseText
                    if(type === 'json'){
                        res = JSON.parse(res)
                    }
                    resolve(res)
                }else{
                    reject(xhr.status)
                }
            }
        }
        xhr.open('post',url)
        xhr.setRequestHeader('conten-type','application/x-www-form-urlencoded')
        for(let key in headers){
            xhr.setRequestHeader(key,headers[key])
        }
        xhr.send(paramsFilter)
    })

    return p
}